//
import java.sql.*;
import java.awt.*;
import javax.swing.*;
import oracle.jdbc.*;
/**<h3>FehlerMeldung</h3>
 * Fehlermeldung Generator
 * @author Hung Nguyen Huu <hung852001@yahoo.com>
 * @author Viktor Ayzenshtadt <vsa85@gmx.de>
 * @version 0001 11.07.2011 21:53:45
 */
public class FehlerMeldung {
/* Error_eingabe */	
	public static void eingabe(String gebietCBVal){
		if(gebietCBVal.length() == 0 || gebietCBVal.length() < 3){	// Überprüfung der Eingabe
			JOptionPane.showMessageDialog(null, "Ihre Eingabe war leer oder zu kurz! Der gesuchte Gebietsort / Schluessel muss mind. aus 3 Zeichen bestehen. \nGeben Sie bitte den Gebietsort / Gebietsschluessel nochmal ein und klicken Sie auf 'suchen'.", "Fehlermeldung", JOptionPane.ERROR_MESSAGE);	
		}
	}

/* Error_message */
	public static void fehlerMeldung(){		// Fehlermeldung Methode
		JOptionPane.showMessageDialog(null, "Falsche Eingabe der Jahreszahl(en)!\n\nBitte beachten Sie folgendes:\n\n1) Nur Jahreszahlen ab 1950 bis 2009 sind erlaubt\n2) Zahlensymbole als Werte (keine sonst. Symbole)\n3) Zahl <bis> darf nicht kleiner als Zahl <von> sein\n\n","Fehlermeldung", JOptionPane.ERROR_MESSAGE); 
	}
		
/* Error_check kontrolliert die Eingabebedingungen */
	public static int[] check(String vonVal, String bisVal, int jahrVon, int jahrBis){
		int[] jahr = {0,0};
		// jahr[0] -> jahrVon, jahr[1] -> jahrBis
		// DEFINITION: jahrVon = -10; ist die Codierung für das return in der StartAuswertung direkt nach der Fehlermeldung!
		if(vonVal.length() == 0) { 	// Wenn das Feld vonVal ist leer
			jahrVon = -1; 		
		}		
		if(vonVal.length() == 4) {	// nur bei vierstelligen String			
			try { 
				jahrVon = Integer.parseInt(vonVal); 	// vonVal in Integer umwandeln
			}
			catch (NumberFormatException jahrErr){		// Abfangen des Fehlers, falls Umwandlung in Integer scheiterte
				fehlerMeldung();
				jahrVon = -10;
			}				
		}
		if(jahrVon != -1 && ( jahrVon < 1950 || jahrVon > 2009) && jahrVon != 0 && jahrVon != -10) {  
			// Fehlermeldung, falls Jahreszahl falsch eingegeben wurde, 4Stellige Zahlen kleiner als 1950 und großer als 2009 sind
			fehlerMeldung();
			jahrVon = -10;
/* 1 */			//System.out.println("Fehler 1");
		}
		if(bisVal.length() == 0){ 
			jahrBis = -1;			// Wenn das Feld bisVal ist leer
		}
		if(bisVal.length() == 4) {		// nur bei vierstelligen String
			try { 
				jahrBis = Integer.parseInt(bisVal);   	// bisVal in Integer umwandeln
			}
			catch (NumberFormatException jahrErr){		// Abfangen des Fehlers, falls Umwandlung in Integer scheiterte
				fehlerMeldung(); 
				jahrVon = -10;
			}
		}
		if(jahrVon != -1 && jahrBis != -1 && jahrVon > jahrBis && jahrVon != -10) {	//Bsp. jahrVon = 2000; jahrBis = 1998;
			fehlerMeldung();
			jahrVon = -10;
/* 2 */			//System.out.println("Fehler 2");
		}
		if(jahrVon == 0){			// Alle Zahlen,  wie jahrVon = sdfg oder jahrVon = 123 etc., die "übrig" bleiben
			fehlerMeldung();
			jahrVon = -10;
/* 3 */			//System.out.println("Fehler 3");
		}
		if(jahrVon != -1 && jahrBis != -1 && jahrVon == jahrBis && jahrVon != 0 && jahrBis != 0 && jahrVon != -10 && jahrBis != -10) {
			jahr[1] = 0;	// muss jahr[1] sein und nicht jahrBis! sonst wird der Wert überschrieben 
		// Für den Fall, dass man nach EINEM best. Jahr sucht (z.B. 2000), 0 = gleich
		}
		if(jahrBis != -1 && (jahrBis < 1950 || jahrBis >2009) && jahrBis != 0 && jahrBis != -10) { 
			// Fehlermeldung, falls Jahreszahl falsch eingegeben wurde, 4Stellige Zahlen kleiner als 1950 und großer als 2009 sind
			fehlerMeldung();
			jahrVon = -10;
/* 4 */			//System.out.println("Fehler 4");
		}			
		if(jahrBis == 0) {			// Alle Zahlen,  wie jahrBis = sdfg oder jahrBis = 123 etc., die "übrig" bleiben
			fehlerMeldung();
			jahrVon = -10;
/* 5 */			//System.out.println("Fehler 5");
		}
		jahr[0] = jahrVon;
		jahr[1] = jahrBis;

		// da wir den Code auslagern möchten, und 2 Werte zurückgeben wollen, brauchen wir ein Array!
		return jahr;
	}
}
